﻿@using SignalR通讯.PublicTool
@{
    ViewBag.Title = "聊天窗口";
}

<h1 style="color:red">当前用户：<label id="user">@Session["username"]</label></h1>
<h1 style="color: red">当前用户id：<label id="userid">@Session["userid"]</label></h1>
<h1 style="color:red">连接用户id：<label id="connnectId">@Session["connnectId"]</label></h1>
<div class="container">
   发送给： @Html.SendDropDownList("sendId", new { dataType = "*", @class = "valid-default" }, "", false)
    <input type="text" id="message" />
    <input type="button" id="sendmessage" value="Send" />
    <input type="hidden" id="displayname" />
    <ul id="discussion"></ul>
</div>

@section scripts
{
    <!--引用SignalR库. -->
    <script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
    <!--引用自动生成的SignalR 集线器(Hub)脚本.在运行的时候在浏览器的Source下可看到 -->
    <script src="~/signalr/hubs"></script>

    <script>
        $(function() {
            // 引用自动生成的集线器代理
            var chat = $.connection.serverHub;
            // 定义服务器端调用的客户端sendMessage来显示新消息

            chat.client.receivePrivateMessage = function(message, userName) {
                // 向页面添加消息
                $('#discussion').append('<li><strong>' + htmlEncode(userName)
                    + '</strong>: ' + htmlEncode(message) + '</li>');
                // alert(message);
            };

            // 设置焦点到输入框
            $('#message').focus();
            // 开始连接服务器
            $.connection.hub.start().done(function() {
               // chat.server.connect($('#userid').text(), $('#user').text()); // 调用服务端connect方法
                $('#sendmessage').click(function() {
                    // 调用服务器端集线器的Send方法
                    chat.server.sendPrivateMessage($('#sendId').val(), $('#message').val(), $('#user').text());

                    $('#discussion').append('<li><strong>' + htmlEncode($('#user').text())
                        + '</strong>: ' + htmlEncode($('#message').val()) + '</li>');
                    // 清空输入框信息并获取焦点
                    $('#message').val('').focus();
                });
            });
        });

        // 为显示的消息进行Html编码
        function htmlEncode(value) {
            var encodedValue = $('<div />').text(value).html();
            return encodedValue;
        }

        $(document).ready(function() {
            $("#sendId").click(function() {

            });
        });

    </script>
}

